package com.zero.qth.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zero.common.annotation.excel.Excel;
import com.zero.common.core.domain.base.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;



/**
 * 优惠券列表对象 coupon
 * 
 * @author cai-xu-kun
 * @date 2025-08-27
 */
@Data
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class Coupon extends BaseEntity {
    /** 优惠券ID */
    @Excel(name = "优惠券ID")
    private Long id;

    /** 优惠券名称 */
    @Excel(name = "优惠券名称")
    private String name;

    /** 是否有门槛（0否 1是） */
    @Excel(name = "是否有门槛", readConverterExp = "0=否,1=是")
    private Integer isThreshold;

    /** 门槛(单位：元) */
    @Excel(name = "门槛(单位：元)")
    private Long atLeast;

    /** 优惠(单位：元) */
    @Excel(name = "优惠(单位：元)")
    private Long amount;

    /** 数量 */
    @Excel(name = "数量")
    private Long quantity;

    /** 剩余数量 */
    @Excel(name = "剩余数量")
    private Long remainingQuantity;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startDate;

    /** 过期日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "过期日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expireDate;


}
